#ifndef ENTITY2D
#define ENTITY2D
#include "Defines.h"
#include <iostream>
#include <string>

namespace Engine{
class Renderer;
class Timer;

class ENGINE_API Entity2D{
private:
	float _x, _y, _z;
	float _w, _h;
	float _rot;
	std::string m_name;

public:
	Entity2D();
	~Entity2D();
	virtual void Draw(Renderer* renderer);
	virtual void Update(Timer& pkTimer) { }


	//------------------Setters------------------//
	void SetName(std::string name);
	void SetScale(float w, float h);
	void SetPosition (float x, float y);
	void SetRotation (float fRotation);


	//------------------Getters------------------//
	std::string GetName() const;
	// Position
	float GetPositionX();
	float GetPositionY();
	void GetPositionXY(float& x, float& y);

	// Scale
	float GetScaleX();
	float GetScaleY();
	void GetScaleXY(float& x, float& y);

	// Rotation
	float GetRotation();
};
}

#endif	// ENTITY2D